<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>自定义遍历数组</title>
</head>
<body>
    <script>

        // 遍历stus里的属性 banji.stus.ForEach相当于别人知道你有多少钱
        // 自己写了一个迭代器

        const banji = {
            name:'终极一班',
            stus:[
                'xiaoming',
                'xiaoning',
                'xiaotian',
                'knight'
            ],
            [Symbol.iterator](){
                // 索引变量
                let index =0;
                let _this = this;
                return{
                    next:function(){
                        if(index <_this.stus.length){
                            const result = {
                                value:_this.stus[index],done:false
                            };
                            index++;
                            return result;
                        }else{
                            return{value:undefined,done:true};
                        }
                    }
                }
            }

        }
// 直接用for...of 遍历的话,会提示banji没有迭代器
        for(let v of banji){
            console.log(v);
        }

    </script>
</body>
</html>